home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 4 / Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso / Periodicals / CSMP / C.S.M.P. Digest, Issue 3.009 < prev    next >
Internet Message Format  |  1994-06-09  |  43KB

  1. From: pottier@clipper.ens.fr (Francois Pottier)
  2. Subject: csmp-digest-v3-009
  3. Date: Tue, 5 Apr 94 15:00:15 MET DST
  4.  
  5. C.S.M.P. Digest             Tue, 05 Apr 94       Volume 3 : Issue 9
  6.  
  7. Today's Topics:
  8.  
  9.         Better QuickTime play rates
  10.         Debugging: when does an app start to execute?
  11.         Full C++ Mac Framework wanted
  12.         LISP on MAC
  13.         MIDI Manager Source Example
  14.         Making a font menu
  15.         MoreFiles 1.1.1 - example file manager code
  16.         NewGWorld - please help!
  17.         Thread Manager 2.0
  18.  
  19.  
  20.  
  21. The Comp.Sys.Mac.Programmer Digest is moderated by Francois Pottier
  22. (pottier@clipper.ens.fr).
  23.  
  24. The digest is a collection of article threads from the internet newsgroup
  25. comp.sys.mac.programmer.  It is designed for people who read c.s.m.p. semi-
  26. regularly and want an archive of the discussions.  If you don't know what a
  27. newsgroup is, you probably don't have access to it.  Ask your systems
  28. administrator(s) for details.  If you don't have access to news, you may
  29. still be able to post messages to the group by using a mail server like
  30. anon.penet.fi (mail help@anon.penet.fi for more information).
  31.  
  32. Each issue of the digest contains one or more sets of articles (called
  33. threads), with each set corresponding to a 'discussion' of a particular
  34. subject.  The articles are not edited; all articles included in this digest
  35. are in their original posted form (as received by our news server at
  36. nef.ens.fr).  Article threads are not added to the digest until the last
  37. article added to the thread is at least two weeks old (this is to ensure that
  38. the thread is dead before adding it to the digest).  Article threads that
  39. consist of only one message are generally not included in the digest.
  40.  
  41. The digest is officially distributed by two means, by email and ftp.
  42.  
  43. If you want to receive the digest by mail, send email to listserv@ens.fr
  44. with no subject and one of the following commands as body:
  45.     help                        Sends you a summary of commands
  46.     subscribe csmp-digest Your Name    Adds you to the mailing list
  47.     signoff csmp-digest            Removes you from the list
  48. Once you have subscribed, you will automatically receive each new
  49. issue as it is created.
  50.  
  51. The official ftp info is //ftp.dartmouth.edu/pub/csmp-digest.
  52. Questions related to the ftp site should be directed to
  53. scott.silver@dartmouth.edu. Currently no previous volumes of the CSMP
  54. digest are available there.
  55.  
  56. Also, the digests are available to WAIS users as comp.sys.mac.programmer.src.
  57.  
  58.  
  59. -------------------------------------------------------
  60.  
  61. >From glalonde@vnet.ibm.com (Glen Lalonde)
  62. Subject: Better QuickTime play rates
  63. Date: 22 Mar 1994 14:24:34 GMT
  64. Organization: IBM Toronto Lab.
  65.  
  66.  
  67. I used a utility I wrote to see where time was being
  68. spent while playing a rather large(13MB) 60second movie.
  69. I found that about 50% of the machines time was spend in
  70. one routine, this routine was in the system heap and
  71. came from QT itself. It is 'cdec' number -16661,
  72. function 'Anon 48' The loop at 'Anon48'+BA is taking
  73. a LOT OF time. Anyone have any idea what this is doing?
  74.  
  75. Also, and possibly more important, is that 20% of the
  76. machines time durring playback was spend in a ROM routine
  77. called _SIntRemove. This routine is 0x29c4 long, ouch!
  78. I read about it in IM V, but don't really see why it is
  79. being used so much. Can some kind person tell me, or point
  80. me, to why _SIntRemove is used at all durring movie 
  81. playback?(I have inside mac(old version) 1-6).
  82.  
  83. I assume you get:
  84. QD call->8.24 card driver call->some kind of interrupt 
  85. gets generated?
  86.  
  87. I have a //si with 8.24 on the nubus card. Thanks.
  88. My software inserts a VBL routine which inspects the
  89. program counter, thus letting me profile the system.
  90.  
  91. Glen.
  92.  
  93.  
  94. +++++++++++++++++++++++++++
  95.  
  96. >From jim_reekes@quickmail.apple.com (Jim Reekes)
  97. Date: Tue, 22 Mar 1994 22:09:44 GMT
  98. Organization: Apple Computer, Inc.
  99.  
  100. In article <2mmv32$6jh@tornews.torolab.ibm.com>, glalonde@vnet.ibm.com
  101. (Glen Lalonde) wrote:
  102. > I used a utility I wrote to see where time was being
  103. > spent while playing a rather large(13MB) 60second movie.
  104. > I found that about 50% of the machines time was spend in
  105. > one routine, this routine was in the system heap and
  106. > came from QT itself. It is 'cdec' number -16661,
  107. > function 'Anon 48' The loop at 'Anon48'+BA is taking
  108. > a LOT OF time. Anyone have any idea what this is doing?
  109.  
  110. That's the image decompresser that draws the compressed video images to the
  111. screen.
  112.  
  113. > Also, and possibly more important, is that 20% of the
  114. > machines time durring playback was spend in a ROM routine
  115. > called _SIntRemove. This routine is 0x29c4 long, ouch!
  116. > I read about it in IM V, but don't really see why it is
  117. > being used so much. Can some kind person tell me, or point
  118. > me, to why _SIntRemove is used at all durring movie 
  119. > playback?(I have inside mac(old version) 1-6).
  120.  
  121. It's not really _SIntRemove. You have to know the exact address and the
  122. look them up in the ROM maps. The bugger you are using is only reporting
  123. the nearest trap in front of the address in ROM you are looking at. At that
  124. location there are some VIA interrupt handlers, and below them are the SCSI
  125. transfer routines.
  126.  
  127. > I assume you get:
  128. > QD call->8.24 card driver call->some kind of interrupt 
  129. > gets generated?
  130.  
  131. > I have a //si with 8.24 on the nubus card. Thanks.
  132. > My software inserts a VBL routine which inspects the
  133. > program counter, thus letting me profile the system.
  134.  
  135. Then you should be using the ROM maps to get more accurate readings of the
  136. ROM addresses.
  137.  
  138. - ---------------------------------------------------------------------
  139. Jim Reekes, Polterzeitgeist   |     Macintosh Toolbox Engineering
  140.                               |          Sound Manager Expert
  141. Apple Computer, Inc.          | "All opinions expressed are mine, and do
  142. 20525 Mariani Ave. MS 302-3KS |   not necessarily represent those of my
  143. Cupertino, CA 95014           |       employer, Apple Computer Inc."
  144.  
  145. +++++++++++++++++++++++++++
  146.  
  147. >From ivanski@world.std.com (Ivan M CaveroBelaunde)
  148. Date: Tue, 22 Mar 1994 23:00:57 GMT
  149. Organization: The World Public Access UNIX, Brookline, MA
  150.  
  151. glalonde@vnet.ibm.com (Glen Lalonde) writes:
  152. >I used a utility I wrote to see where time was being
  153. >spent while playing a rather large(13MB) 60second movie.
  154. >I found that about 50% of the machines time was spend in
  155. >one routine, this routine was in the system heap and
  156. >came from QT itself. It is 'cdec' number -16661,
  157. >function 'Anon 48' The loop at 'Anon48'+BA is taking
  158. >a LOT OF time. Anyone have any idea what this is doing?
  159.  
  160. The 'thng' resources specify that 'cdec' -16661 is the Cinepak
  161. decompressor. What it is doing is left as an exercise
  162. for the reader ;)
  163.  
  164. >Also, and possibly more important, is that 20% of the
  165. >machines time durring playback was spend in a ROM routine
  166. >called _SIntRemove. This routine is 0x29c4 long, ouch!
  167.  
  168. I'm not sure it's really in _SIntRemove. The symbol lists
  169. for the ROMs are nowhere near complete, and registering
  170. execution at _SIntRemove+$XXXX doesn't necessarily mean
  171. it's stuck removing a slot interrupt. For example, the
  172. *entire* memory manager is labeled as _StripAddress+$XXXX.
  173. I could see it servicing a slot VBL call. Depending on the
  174. machine you're using, I guess it could be processing async
  175. disk I/O.
  176.  
  177. Hope this helps,
  178.  
  179. -Ivan
  180. - -
  181. Ivan Cavero Belaunde (ivanski@world.std.com)
  182. Avid VideoShop Project Lead
  183. Avid Technology, Inc.
  184.  
  185. +++++++++++++++++++++++++++
  186.  
  187. >From rang@winternet.mpls.mn.us (Anton Rang)
  188. Date: 23 Mar 1994 00:32:46 GMT
  189. Organization: Minnesota Angsters
  190.  
  191. In article <2mmv32$6jh@tornews.torolab.ibm.com> glalonde@vnet.ibm.com (Glen Lalonde) writes:
  192. >I found that about 50% of the machines time was spend in
  193. >one routine, this routine was in the system heap and
  194. >came from QT itself. It is 'cdec' number -16661,
  195. >function 'Anon 48' The loop at 'Anon48'+BA is taking
  196. >a LOT OF time. Anyone have any idea what this is doing?
  197.  
  198.   The 'cdec' resource is a compressor/decompressor.  Presumably the
  199. loop you're looking at is handling picture decompression.
  200.  
  201. >Also, and possibly more important, is that 20% of the
  202. >machines time durring playback was spend in a ROM routine
  203. >called _SIntRemove. This routine is 0x29c4 long, ouch!
  204.  
  205.   Actually, no, that's not the routine.  It just looks like it because
  206. it is followed by a huge amount of undocumented ROM code (well, not
  207. undocumented exactly, just internal routines, not external traps.)
  208. I'd have to look at the IIsi ROM map to be sure, but that's probably
  209. either Sound Manager or QuickDraw code that you're seeing.
  210. --
  211. Anton Rang (rang@winternet.mpls.mn.us)
  212.  
  213.  
  214. ---------------------------
  215.  
  216. >From sgl1@kimbark.uchicago.edu (Steven Lane)
  217. Subject: Debugging: when does an app start to execute?
  218. Date: Mon, 21 Mar 1994 00:20:31 GMT
  219. Organization: University of Chicago
  220.  
  221. I figure there must be an easy answer to this, but I've had no luck
  222. figuring it out. I want to set a breakpoint condition in MacsBug such
  223. that I'll drop into the debugger sometime after _Launch, as soon as
  224. the app's main code segment is entered. I've tried various things,
  225. such as waiting until CurApName or TheZone changes, but these are
  226. shots in the dark, given that I don't know how or in what order
  227. _Launch does its business, and I don't enjoy ROM exploration in large
  228. doses.
  229.  
  230. So: are there any decent rules of thumb on what conditions will true
  231. at the point an app executes the first line of its own code? Any
  232. pointers would be a big help. I'll be glad to summarize if there's
  233. enough response or interest.
  234.  
  235.  
  236. -- 
  237. - --
  238. Steve Lane
  239. University of Chicago, Department of History
  240. sgl1@midway.uchicago.edu
  241.  
  242. +++++++++++++++++++++++++++
  243.  
  244. >From wysocki@netcom.com (Chris Wysocki)
  245. Date: Mon, 21 Mar 1994 04:08:06 GMT
  246. Organization: Global Village Communication, Mountain View, CA
  247.  
  248. In article <1994Mar21.002031.16537@midway.uchicago.edu> sgl1@midway.uchicago.edu writes:
  249.  
  250. >I figure there must be an easy answer to this, but I've had no luck
  251. >figuring it out. I want to set a breakpoint condition in MacsBug such
  252. >that I'll drop into the debugger sometime after _Launch, as soon as
  253. >the app's main code segment is entered.
  254.  
  255. For 68k applications, the easiest thing to do is set the low-memory
  256. global LoadTrap (a byte at $12D) to non-zero before launching the
  257. application.  This will cause _LoadSeg to drop you into Macsbug right
  258. before RTS-ing to your code segment.  I haven't figured out how to do
  259. the same thing for native applications, although I haven't had the
  260. need to do this just yet....
  261.  
  262. Chris.
  263.  
  264. +++++++++++++++++++++++++++
  265.  
  266. >From zellers@berksys.com (Steve Zellers)
  267. Date: 21 Mar 1994 05:01:08 GMT
  268. Organization: Berkeley Systems, Inc.
  269.  
  270. In article <wysockiCMzy5I.K8y@netcom.com>, wysocki@netcom.com (Chris
  271. Wysocki) wrote:
  272.  
  273. > In article <1994Mar21.002031.16537@midway.uchicago.edu> sgl1@midway.uchicago.edu writes:
  274. > For 68k applications, the easiest thing to do is set the low-memory
  275. > global LoadTrap (a byte at $12D) to non-zero before launching the
  276. > application.  This will cause _LoadSeg to drop you into Macsbug right
  277. > before RTS-ing to your code segment.  I haven't figured out how to do
  278. > the same thing for native applications, although I haven't had the
  279. > need to do this just yet....
  280.  
  281. Holding down the control key when you launch your all will stop you in
  282. __start, assuming you're using r2db & the debugger nub.  Not sure about
  283. using the nub that comes with metrowerks, however.  (But if its
  284. implementing the nub interface, it might just work.
  285.  
  286. --smz
  287. 
  288. -- 
  289. Sr. Software Engineer
  290. Berkeley Systems, Inc.
  291.  
  292. ---------------------------
  293.  
  294. >From krodye@sra.com (Eric Krody)
  295. Subject: Full C++ Mac Framework wanted
  296. Date: 21 Mar 1994 15:14:49 GMT
  297. Organization: Systems Research and Applications Corp., Fairfax VA
  298.  
  299.  
  300. What does one do if one wants to write an application making full use 
  301. of C++?  Apparently, neither MacApp nor Symantec's Think Class Library
  302. take full advantage of C++ (and TCL seems to be pretty far from doing
  303. so given its heritage).  I read that QuickApp offers a framework written
  304. in C++ but I don't know much about this Emergent Behavior product (nor
  305. do I know anything about Emergent Behavior).  Any comments on what 
  306. direction to take?  Anyone used QuickApp? Anyone know Emergent Behavior's
  307. phone number or have any other useful information?      
  308.   
  309.  
  310. +++++++++++++++++++++++++++
  311.  
  312. >From jwbaxter@olympus.net (John W. Baxter)
  313. Date: Mon, 21 Mar 1994 10:34:31 -0800
  314. Organization: Internet for the Olympic Peninsula
  315.  
  316. In article <2mkdl9$edd@snoopy.sra.com>, krodye@sra.com (Eric Krody) wrote:
  317.  
  318. > What does one do if one wants to write an application making full use 
  319. > of C++?  Apparently, neither MacApp nor Symantec's Think Class Library
  320. > take full advantage of C++ (and TCL seems to be pretty far from doing
  321. > so given its heritage).  I read that QuickApp offers a framework written
  322. > in C++ but I don't know much about this Emergent Behavior product (nor
  323. > do I know anything about Emergent Behavior).  Any comments on what 
  324. > direction to take?  Anyone used QuickApp? Anyone know Emergent Behavior's
  325. > phone number or have any other useful information?      
  326. >   
  327.  
  328. QuickApp is, er, quick.  [It was also recently incorporated into a new
  329. Apple Developer University course which replaces two old object oriented
  330. courses.  And it was incorporated into a course on OO for Taligent.]
  331.  
  332. A new QuickApp is coming "soon", which will be compilable using Metrowerks
  333. CodeWarrior (including for Power Macintosh), and will support Apple events.
  334.  Emergent Behavior is, among others, Dave Wilson (who has taught at Apple
  335. Dev U for a LONG time, and is darn good), and Steve Wilson. 
  336. emergent@aol.com
  337.  
  338. CodeWarrior from Metrowerks includes the "PowerPlant" framework, which
  339. looks promising.  CodeWarrior is currently out in its first developer
  340. pre-release:  #2 is about to emerge.  68K only, PPC only, or both. 
  341. Delivered on CD.  I've already switched from Symantec (I wouldn't have for
  342. an early deadline program, although some Power Macintosh code compiled by
  343. CodeWarrior is already in service (Fetch 2.1.2, as one example).
  344.  
  345. I like the feel of the PowerPlant framework (by Gregory Dow of TCL fame). 
  346. It's "TCL done right given modern tools and a second chance" (my quote).
  347.  
  348. -- 
  349. John Baxter    Port Ludlow, WA, USA  [West shore, Puget Sound]
  350.    jwbaxter@pt.olympus.net
  351.  
  352. ---------------------------
  353.  
  354. >From gt7572c@prism.gatech.EDU (Jason Strayer)
  355. Subject: LISP on MAC
  356. Date: 19 Mar 94 00:32:19 GMT
  357. Organization: Georgia Institute of Technology
  358.  
  359.  
  360. Anyone know of a good LISP compiler on Macintosh?
  361. More importantly: a LISP compiler that is going to be released for the
  362. PowerMACs?
  363.  
  364. Does such a thing exist?
  365.  
  366. thanks in advance,
  367. jason
  368.  
  369.  
  370. +++++++++++++++++++++++++++
  371.  
  372. >From Steve Bryan <sbryan@maroon.tc.umn.edu>
  373. Date: Sun, 20 Mar 1994 07:31:08 GMT
  374. Organization: Sexton Software
  375.  
  376. In article <146371@hydra.gatech.EDU> Jason Strayer,
  377. gt7572c@prism.gatech.EDU writes:
  378. >Anyone know of a good LISP compiler on Macintosh?
  379. >More importantly: a LISP compiler that is going to be released for the
  380. >PowerMACs?
  381.  
  382. There's good news and bad news to report. A few years ago someone at
  383. Apple liked a product called Coral Lisp so much that they bought the
  384. company (product, developers, everything) and renamed it Macintosh Common
  385. Lisp. This has been available for a few years as a $500 product from
  386. APDA. It appears to have been rather actively supported by Apple as new
  387. features have been added to system software with regular updates on the
  388. developers' CDs. The bad news (if the $500 price tag wasn't already) is
  389. that Apple appears to have narrowed its focus entirely to C++. The most
  390. recent CD with issue 17 of develop has removed all updates to platforms
  391. other than C++. I also read somewhere else on Usenet that Apple doesn't
  392. have any plans currently to port MCL to the PowerPC.
  393.  
  394. If you don't mind entertaining rumors there is a Lisp like language
  395. called Dylan that appears to have the strong support of Larry Tesler at
  396. Apple that may be coming out yet. The most interesting rumor I read about
  397. it is that Michael Kahl (developer of Lightspeed C, later called Think C,
  398. recently called many other names) is working on the project.
  399. Steve Bryan                  InterNet: sbryan@maroon.tc.umn.edu
  400. Sexton Software            CompuServe: 76545,527
  401. Minneapolis, MN                   Fax: (612) 929-1799
  402.  
  403. +++++++++++++++++++++++++++
  404.  
  405. >From brickle@ccr-p.ida.org (Frank Brickle)
  406. Date: 20 Mar 1994 08:50:51 -0500
  407. Organization: IDA - Center for Communications Research
  408.  
  409. >From article <CMyCtM.333@news.cis.umn.edu>, by Steve Bryan <sbryan@maroon.tc.umn.edu>:
  410. > In article <146371@hydra.gatech.EDU> Jason Strayer,
  411. > gt7572c@prism.gatech.EDU writes:
  412. >>Anyone know of a good LISP compiler on Macintosh?
  413. >>More importantly: a LISP compiler that is going to be released for the
  414. >>PowerMACs?
  415. > ...I also read somewhere else on Usenet that Apple doesn't
  416. > have any plans currently to port MCL to the PowerPC.
  417.  
  418. Not exactly. What you probably read were furious postings *concluding*
  419. (in spite of all public statements on the subject from people at
  420. Apple) that MCL wouldn't be produced in a PPC-native version.
  421.  
  422. +++++++++++++++++++++++++++
  423.  
  424. >From Steven Ritter <sr0o+@andrew.cmu.edu>
  425. Date: Sun, 20 Mar 1994 14:35:45 -0500
  426. Organization: Psychology, Carnegie Mellon, Pittsburgh, PA
  427.  
  428. Excerpts from netnews.comp.sys.mac.programmer: 20-Mar-94 Re: LISP on MAC
  429. by Frank Brickle@ccr-p.ida. 
  430. > From article <CMyCtM.333@news.cis.umn.edu>, by Steve Bryan
  431. <sbryan@maroon.tc.umn
  432. > .edu>:
  433. > > In article <146371@hydra.gatech.EDU> Jason Strayer,
  434. > > gt7572c@prism.gatech.EDU writes:
  435. > >>Anyone know of a good LISP compiler on Macintosh?
  436. > >>More importantly: a LISP compiler that is going to be released for the
  437. > >>PowerMACs?
  438. > > 
  439. > > ...I also read somewhere else on Usenet that Apple doesn't
  440. > > have any plans currently to port MCL to the PowerPC.
  441. > > 
  442. > Not exactly. What you probably read were furious postings *concluding*
  443. > (in spite of all public statements on the subject from people at
  444. > Apple) that MCL wouldn't be produced in a PPC-native version.
  445.  
  446. No, what he read was that Apple will not be producing a PPC-native
  447. version of MCL. Apple is hoping to convince someone else to do the work
  448. for them. This is basically what Rick Fleischman, the MCL product
  449. manager, posted to comp.lang.lisp.mcl.
  450.  
  451. The general feeling is that the potential market for LISP is so small
  452. that no third part could make a profit from MCL, and the fact that the
  453. PowerPC is now out and Apple still hasn't found anyone to commit to
  454. doing the port doesn't inspire much confidence that it'll get done at
  455. all.
  456.  
  457. A surprisingly large percentage of AI researchers use Macintoshes
  458. entirely because of MCL. These are not people who have any loyalty to
  459. the hardware and if MCL doesn't keep up, they'll leave.
  460.  
  461. Steve
  462.  
  463.  
  464. +++++++++++++++++++++++++++
  465.  
  466. >From howard@netcom.com (Howard Berkey)
  467. Date: Sun, 20 Mar 1994 21:51:09 GMT
  468. Organization: Netcom Online Communications Services (408-241-9760 login: guest)
  469.  
  470. In article <4hX_KFG00iV7A2rKhE@andrew.cmu.edu> Steven Ritter <sr0o+@andrew.cmu.edu> writes:
  471. >Excerpts from netnews.comp.sys.mac.programmer: 20-Mar-94 Re: LISP on MAC
  472. >by Frank Brickle@ccr-p.ida. 
  473. >> From article <CMyCtM.333@news.cis.umn.edu>, by Steve Bryan
  474. ><sbryan@maroon.tc.umn
  475. >> .edu>:
  476. >> > In article <146371@hydra.gatech.EDU> Jason Strayer,
  477. >> > gt7572c@prism.gatech.EDU writes:
  478. >> >>Anyone know of a good LISP compiler on Macintosh?
  479. >> >>More importantly: a LISP compiler that is going to be released for the
  480. >> >>PowerMACs?
  481. >> > 
  482. >> > ...I also read somewhere else on Usenet that Apple doesn't
  483. >> > have any plans currently to port MCL to the PowerPC.
  484. >> > 
  485. >> 
  486. >> Not exactly. What you probably read were furious postings *concluding*
  487. >> (in spite of all public statements on the subject from people at
  488. >> Apple) that MCL wouldn't be produced in a PPC-native version.
  489. >
  490. >No, what he read was that Apple will not be producing a PPC-native
  491. >version of MCL. Apple is hoping to convince someone else to do the work
  492. >for them. This is basically what Rick Fleischman, the MCL product
  493. >manager, posted to comp.lang.lisp.mcl.
  494. >
  495. >The general feeling is that the potential market for LISP is so small
  496. >that no third part could make a profit from MCL, and the fact that the
  497. >PowerPC is now out and Apple still hasn't found anyone to commit to
  498. >doing the port doesn't inspire much confidence that it'll get done at
  499. >all.
  500. >[...]
  501.  
  502.  
  503. That will be a true bummer, then.  I know people who swear by MCL,
  504. including one who feels it is the definative PC LISP implementation.
  505. Plus it has (based on my limited experimentation) a very nice editor,
  506. considering how long it's been around.
  507.  
  508. If I had need of a LISP environment, there would be no question of the
  509. one I would buy.  From an aesthetic standpoint, this is nearly as bad as
  510. Symantec not continuing THINK Pascal.  (Though I'm sure others will disagree
  511. :-) 
  512.  
  513. -H-
  514.  
  515.  
  516. -- 
  517. :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  518. Howard Berkey                                             howard@netcom.com   
  519.                             Kill the Wabbit!
  520.  
  521. +++++++++++++++++++++++++++
  522.  
  523. >From brickle@ccr-p.ida.org (Frank Brickle)
  524. Date: 20 Mar 1994 18:24:37 -0500
  525. Organization: IDA - Center for Communications Research
  526.  
  527. >From article <4hX_KFG00iV7A2rKhE@andrew.cmu.edu>, by Steven Ritter <sr0o+@andrew.cmu.edu>:
  528. > No, what he read was that Apple will not be producing a PPC-native
  529. > version of MCL. Apple is hoping to convince someone else to do the work
  530. > for them. This is basically what Rick Fleischman, the MCL product
  531. > manager, posted to comp.lang.lisp.mcl.
  532.  
  533. I believe this is a pessimistic over-reading of Rick Fleischman's
  534. postings.
  535.  
  536. +++++++++++++++++++++++++++
  537.  
  538. >From Malcolm Pradhan <pradhan@camis.stanford.edu>
  539. Date: 21 Mar 1994 18:56:56 GMT
  540. Organization: Section on Medical Informatics, Stanford University
  541.  
  542. In article <2milvl$9a2@snook.ccr-p.ida.org> Frank Brickle,
  543. brickle@ccr-p.ida.org writes:
  544. > From article <4hX_KFG00iV7A2rKhE@andrew.cmu.edu>, by Steven Ritter
  545. > <sr0o+@andrew.cmu.edu>:
  546. > > No, what he read was that Apple will not be producing a PPC-native
  547. > > version of MCL. Apple is hoping to convince someone else to do the
  548. work
  549. > > for them. This is basically what Rick Fleischman, the MCL product
  550. > > manager, posted to comp.lang.lisp.mcl. 
  551. >  I believe this is a pessimistic over-reading of Rick Fleischman's
  552. > postings.
  553.  
  554.  Not really. Fleischman said that further development on MCL would not
  555. happen, implying that no new features would be added to the CommonLisp,
  556. CLOS or interface framework.
  557.  
  558. What he did say was that bug fixes would continue, and they were looking
  559. for a 3rd party to help them port the compiler to PowerPC. The reason
  560. for the pessimistic tone is that Apple have been planning PowerPC for
  561. years, but they have only just started to look at porting MCL. It's
  562. good that they are trying to port at all it but the main reason for
  563. doing so is that some of their internal projects (and one in
  564. particular) use MCL as their compiler. My own hypothesis about the late
  565. decision to port MCL is that it was deemed easier to find a 3rd party
  566. to help with the port than it was to move the ATG project to Dylan.
  567.  
  568.  While MCL shouldn't be Apple's highest priority, I think their attitude
  569. is symptomatic of their general disregard for Macintosh development, as
  570. discussed by John Nagle in another thread.
  571.  
  572.  I like MCL a lot, and if you have a Mac and need a lisp I would
  573. recommend it. But if you are looking for a lisp system with a future
  574. then I could not recommend Mac Common Lisp, despite it being a great
  575. lisp.
  576.  
  577. Interestingly enough, our lab would have purchased a number of 8100's
  578. for Lisp development, and I would have upgraded my Mac straight away if
  579. MCL were available. I'm sure Apple would have sold quite a few high-end
  580. PowerPCs on the basis of the killer combination of the 601 + MCL.
  581.  
  582.  Regards,
  583.  Malcolm
  584.  
  585. ---------------------------
  586.  
  587. >From etxlepi@garbo.ericsson.se (Matti Lepist|)
  588. Subject: MIDI Manager Source Example
  589. Date: Mon, 21 Mar 1994 09:35:15 GMT
  590. Organization: Ericsson Telecom
  591.  
  592. Hello!    :^)
  593.  
  594. Does anyone have a code example of how to use the MIDI manager 
  595. lib functions for mac.
  596.  
  597. I have tried to figure out how to do it by looking att the include file
  598. MIDI.h and got som things working. But when I tried to write a 
  599. readHook and set it to a input port it crashes the MIDI manager when
  600. I connect some output to it that generates MIDI events...
  601.  
  602. /Matti
  603. _________________________________________________________________________
  604.  
  605. Matti Lepisto:                          Phone:             +46 8 719 5160
  606. Design Support                          Fax:               +46 8 719 8531
  607. TN/ETX/TX/DV                MiniCall:          +46 74 44 2403
  608. Ericsson Telecom AB                     E-Mail: etxlepi@garbo.ericsson.se
  609. 126 25 Stockholm, SWEDEN                Memo:             ERI.ETX.ETXLEPI
  610. _________________________________________________________________________
  611.  
  612.  
  613.  
  614.  
  615. +++++++++++++++++++++++++++
  616.  
  617. >From Paul Ferguson <pferguson@aol.com>
  618. Date: 21 Mar 1994 16:40:08 GMT
  619. Organization: Kaleida Labs, Inc.
  620.  
  621. In article <1994Mar21.093515.25570@ericsson.se> Matti Lepist|,
  622. etxlepi@garbo.ericsson.se writes:
  623. > Does anyone have a code example of how to use the MIDI manager 
  624. > lib functions for mac.
  625. >...
  626. > But when I tried to write a readHook and set it to a input
  627. > port it crashes the MIDI manager when I connect some output
  628. > to it that generates MIDI events...
  629.  
  630.  
  631. Take a look at CMIDI, my MIDI Manager class library for THINK's TCL.
  632. It includes a complete example program, Lefty, that you can
  633. examine.  It's available by ftp from daemon.ncsa.uiuc.edu.
  634.  
  635. As for your readHook crashing, here are two possible causes:  not
  636. declaring the readHook as a pascal function (if you are programming
  637. in C), or violating restrictions on interrupt handlers if your
  638. input port is set to process packets during interrupt time.
  639.  
  640. Also, if you are using THINK C, the MIDI.h file shipped with it is
  641. WAY out of date, and is incompatible with CMIDI.
  642.  
  643. If you continue to have difficulties, I suggest getting the MIDI
  644. Manager programmers kit from Apple ($35US).  It contains the latest
  645. headers, detailed documentation, and several example applications
  646. with full source code.
  647.  
  648. --fergy
  649.  
  650. - ------------------------------------------------------------------
  651.   Paul Ferguson         | "It's a sick world, I'm a happy guy..."
  652.   pferguson@kaleida.com |  
  653. - ------------------------------------------------------------------
  654.  
  655. +++++++++++++++++++++++++++
  656.  
  657. >From mwalker@netcom.com (Mel Walker)
  658. Date: Mon, 21 Mar 1994 18:44:01 GMT
  659. Organization: Committee to Elect Dan Quayle Lord of the Cosmos
  660.  
  661. Paul Ferguson (pferguson@aol.com) wrote:
  662. : If you continue to have difficulties, I suggest getting the MIDI
  663. : Manager programmers kit from Apple ($35US).  It contains the latest
  664. : headers, detailed documentation, and several example applications
  665. : with full source code.
  666.  
  667. Is buying the kit the only way to get the MIDI manager? Is it the 
  668. cheapest way?
  669.  
  670. -- 
  671. Mel Walker                                         mwalker@netcom.com
  672. "Natural exuberance is one of those qualities that makes us tigers so 
  673. darn endearing!" -- Hobbes
  674.  
  675. +++++++++++++++++++++++++++
  676.  
  677. >From howard@netcom.com (Howard Berkey)
  678. Date: Mon, 21 Mar 1994 18:58:42 GMT
  679. Organization: Netcom Online Communications Services (408-241-9760 login: guest)
  680.  
  681. In article <mwalkerCn12pE.HvA@netcom.com> mwalker@netcom.com (Mel Walker) writes:
  682. >Paul Ferguson (pferguson@aol.com) wrote:
  683. >: If you continue to have difficulties, I suggest getting the MIDI
  684. >: Manager programmers kit from Apple ($35US).  It contains the latest
  685. >: headers, detailed documentation, and several example applications
  686. >: with full source code.
  687. >
  688. >Is buying the kit the only way to get the MIDI manager? Is it the 
  689. >cheapest way?
  690. >
  691.  
  692. I imagine you can get the Mgr. itself free with various software (I
  693. think Master Tracks Pro 5 came with it), but then you don't get any
  694. docs.
  695.  
  696. Does APDA sell anything CHEAPER than $35?  I seem to remember some
  697. t-shirts and pens in the back of the catalog :-)
  698.  
  699. Seriously, the Midi Mgr. is one of the least-overpriced offerings from
  700. APDA.  You get a pretty bad (IMHO) reference manual, some OK example hacks,
  701. the MIDI mgr, and Patchbay (neat idea).  I haven't looked at in in a
  702. year or so but I remember being more or less immediately able to write a
  703. MIDI-driven graphics applet which would display variously sized and
  704. located rectangles based on incoming MIDI information, so it was at
  705. least SOME help :-)
  706.  
  707.  
  708. -H-
  709.  
  710.  
  711.  
  712.  
  713. -- 
  714. :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  715. Howard Berkey                                             howard@netcom.com   
  716.                             Kill the Wabbit!
  717.  
  718. +++++++++++++++++++++++++++
  719.  
  720. >From Paul Ferguson <pferguson@aol.com>
  721. Date: 21 Mar 1994 19:34:44 GMT
  722. Organization: Kaleida Labs, Inc.
  723.  
  724. In article <mwalkerCn12pE.HvA@netcom.com> Mel Walker,
  725. mwalker@netcom.com writes:
  726. > Is buying the kit the only way to get the MIDI manager? Is it the 
  727. > cheapest way?
  728.  
  729. For whatever reason, Apple has never freely distributed the
  730. MIDI Manager as they do other System software extensions.  
  731. Some MIDI software manufacturers bundle the MIDI Manager
  732. driver and PatchBay software.  
  733.  
  734. For programming, the MIDI Manager developer kit includes the
  735. drivers, PatchBay, programmer's documentation, source code
  736. examples, etc.
  737.  
  738. BTW, the MIDI Manager will probably disappear soon, with its
  739. functionality rolled into QuickTime 2.0.  Apple never really
  740. supported the MIDI Manager very well; I hope that MIDI will
  741. get more "respect" as part of QT.
  742.  
  743. --fergy
  744.  
  745. - ------------------------------------------------------------------
  746.   Paul Ferguson         | "It's a sick world, I'm a happy guy..."
  747.   pferguson@kaleida.com |  
  748. - ------------------------------------------------------------------
  749.  
  750. ---------------------------
  751.  
  752. >From blume@twg.com (David Blume)
  753. Subject: Making a font menu
  754. Date: Sat, 19 Mar 1994 02:26:04 GMT
  755. Organization: Gokuraku Videos - Wollongong Dept.
  756.  
  757. How do you determine which fonts are available in the system software to
  758. add them to a menu?  (Ie., how do you get a valid list of font names or
  759. font numbers for use with GetFontName() or GetFNum()?)
  760.  
  761. Thanks,
  762. --David
  763. +---------------------------------------------------------------+
  764. |  David Blume    |  "I get tired thinking of all the things I  |
  765. |  blume@twg.com  |   don't want to do."  --Bukowski, _Barfly_  |
  766. +---------------------------------------------------------------+
  767.  
  768. +++++++++++++++++++++++++++
  769.  
  770. >From markhanrek@aol.com (MarkHanrek)
  771. Date: 19 Mar 1994 06:17:02 -0500
  772. Organization: America Online, Inc. (1-800-827-6364)
  773.  
  774. I don't remember where I saw the example source code. Probably on the Developer
  775. CD. 
  776.  
  777. But look through the technotes, because I remember reading that we need to be
  778. careful how we do this, because if we do it the obvious way, :), then we will
  779. end up loading all the fonts we have into the system heap and the size of the
  780. system partition will mushroom like you wouldn't believe.
  781.  
  782. The appropriate method was given for doing this, so the technotes may be a
  783. place to look next.  Also, I may have seen something in  d e v e l o p.
  784.  
  785. Hope this helps.
  786.  
  787. Mark Hanrek
  788.  
  789.  
  790. +++++++++++++++++++++++++++
  791.  
  792. >From petm@soda.berkeley.edu (Peter Mattis)
  793. Date: 20 Mar 1994 22:02:47 GMT
  794. Organization: Computer Science Undergrad Assoc., UCBerkeley
  795.  
  796. The way I remember doing this was a simple call like this:
  797.  
  798. AddResMenu(myMenu, 'FONT');
  799.  
  800. (I think 'FONT' is right, but don't quote me on it).
  801.  
  802. This should append all the fonts available in the system to myMenu.
  803. Then when a user selects a font you can find its fontID based on its
  804. location in the menu (since the fonts will be in alphabetical order in
  805. the menu).
  806.  
  807. If this isn't enough, e-mail me and I'll send some C source I have
  808. for making a font menu and selecting a font from it.
  809.  
  810. -Peter Mattis
  811.  
  812. +++++++++++++++++++++++++++
  813.  
  814. >From Doug Eernisse <Doug_Ee@um.cc.umich.edu>
  815. Date: 21 Mar 1994 02:42:13 GMT
  816. Organization: University of Michigan - College of Literature, Science, and TheArts
  817.  
  818. In article <2mih67$qjo@agate.berkeley.edu> 
  819. Peter Mattis, petm@soda.berkeley.edu writes:
  820.  
  821. >AddResMenu(myMenu, 'FONT');
  822. >
  823. >(I think 'FONT' is right, but don't quote me on it).
  824. >
  825. >This should append all the fonts available in the system to myMenu.
  826. >Then when a user selects a font you can find its fontID based on its
  827. >location in the menu (since the fonts will be in alphabetical order in
  828. >the menu).
  829.  
  830. Does anyone have advice on a fairly direct way to only list fonts
  831. that are nonproportional fonts? This is for a special purpose
  832. application where the columns have to line up, so a proportional
  833. font doesn't work properly.
  834.  
  835.  
  836. Doug
  837.  
  838. +++++++++++++++++++++++++++
  839.  
  840. >From kenlong@netcom.com (Ken Long)
  841. Date: Mon, 21 Mar 1994 17:23:49 GMT
  842. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  843.  
  844. On ftp ftp.cso.uiuc.edu, there ar 24 C "disks" (files) and one of them 
  845. has the source for an Ascii program.  There are actually two ascii 
  846. sources on that ftp - one is for a DA, which I've updated, and added an 
  847. application version and posted on a.s.m.  It merely has the "charts" in 
  848. the source, all laid out in a table, and "DrawStrings" them to the window.
  849.  
  850. But the OTHER one in a regular ascii chart application, and it gets the 
  851. characters from the keymap and puts them in a grid - just like the modern 
  852. ascii chart programs (DA's) do (not as well done, thought).  It's got one 
  853. font menu, and a size menu.  You select a font in the font menu and that 
  854. fontName is now the title of the size menu.
  855.  
  856. This old source does NOT compile and run as-is.  I've got my copy to do 
  857. so and will post it as soon as it runs *right*, but in the mean time you 
  858. could get that source and look at those menu routines and it may help, in 
  859. addition to the fine advice earlier in this thread.
  860.  
  861. Connect to the ftp, then it's "cd mac/MUG", then "get C2.cpt.Hqx".
  862.  
  863. The file is in the SuMac folder.
  864.  
  865. -Ken-
  866.  
  867. +++++++++++++++++++++++++++
  868.  
  869. >From kenlong@netcom.com (Ken Long)
  870. Date: Mon, 21 Mar 1994 17:26:00 GMT
  871. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  872.  
  873. By the way, there's another old source i've updated to run on Think C 
  874. called "Font Show" which is on a.s.m, and their ftp, which may help.
  875.  
  876. -Ken-
  877.  
  878. +++++++++++++++++++++++++++
  879.  
  880. >From Reid Ellis <rae@alias.com>
  881. Date: Tue, 22 Mar 1994 22:08:31 GMT
  882. Organization: Alias Research, Inc., Toronto ON Canada
  883.  
  884. Peter Mattis <petm@soda.berkeley.edu> writes:
  885. |AddResMenu(myMenu, 'FONT');
  886. |
  887. |This should append all the fonts available in the system to myMenu.
  888. |Then when a user selects a font you can find its fontID based on its
  889. |location in the menu (since the fonts will be in alphabetical order in
  890. |the menu).
  891.  
  892. Well, close.  You find its font id by calling GetFNum() on the string
  893. in the menu item selected by the user, not by its position in the
  894. menu.
  895.  
  896. If you want a subset, like proportional fonts or PostScript fonts, you
  897. have to walk the menu, deleting any items that don't match your
  898. requirements.
  899.  
  900. Reid
  901.  
  902. P.S.  How about AddResMenu(menu, 'FOND')?
  903. --
  904. - -
  905. Reid Ellis, Alias Research Inc.
  906. +1 416 362 9181 <rae@Alias.com>
  907.  
  908. ---------------------------
  909.  
  910. >From blob@apple.com (Brian Bechtel)
  911. Subject: MoreFiles 1.1.1 - example file manager code
  912. Date: 22 Mar 1994 07:37:32 -0800
  913. Organization: Apple Computer, Inc., Cupertino, California
  914.  
  915. MoreFiles 1.1.1 is available for anonymous ftp from the site
  916. ftp.apple.com (130.43.2.3) in the path:
  917.   /dts/mac/sc/morefiles1.1.1.hqx
  918. I take it this would be a URL of
  919.   ftp://ftp.apple.com/dts/mac/sc/morefiles1.1.1.hqx
  920.  
  921. MoreFiles, by Jim Luther of DTS, is sample code showing how to do most
  922. of the things people ask about doing with the Macintosh file manager.
  923. In my opinion, it's very well written and valuable code.
  924.  
  925. --Brian Bechtel     blob@apple.com     "My opinion, not Apple's"
  926.  
  927. ---------------------------
  928.  
  929. >From vcan@cs.uml.edu (Volkan Can)
  930. Subject: NewGWorld - please help!
  931. Date: 20 Mar 1994 15:10:25 GMT
  932. Organization: UMass-Lowell Computer Science
  933.  
  934. Hello, I'm trying to make a program I'm writing, draw to an offscreen gworld..
  935. for the life of me, I can't figure out what I am doing wrong..
  936.  
  937. when I use copybits to copy the data from the from the offscreen gworld to my
  938. window, I get garbage in my window...
  939.  
  940. I drew a line offscreen and it was there but I also got a lot of other garbage.
  941. (After te copybits that is)
  942. Is some other application writing to this offscreen memory?
  943.  
  944. Can someone explain to me when and where I should use the keeplocal and/or no
  945. new device or even the purge? flag with NewGWorld?
  946.  
  947. please help..
  948.  
  949. also, I am setting the size of the gworld to the size of my window
  950. and the orig and dest rect's in copy bits are the same (same size as window)
  951.  
  952. please leave email to me..
  953. vc
  954.  
  955.  
  956.  
  957. +++++++++++++++++++++++++++
  958.  
  959. >From alex@metcalf.demon.co.uk (Alex Metcalf)
  960. Date: Sun, 20 Mar 1994 17:06:09 GMT
  961. Organization: Demon Internet
  962.  
  963. In article <2mhp11$626@ulowell.uml.edu>, vcan@cs.uml.edu (Volkan Can)
  964. wrote:
  965.  
  966. > Hello, I'm trying to make a program I'm writing, draw to an offscreen gworld..
  967. > for the life of me, I can't figure out what I am doing wrong..
  968. >  
  969. > when I use copybits to copy the data from the from the offscreen gworld to my
  970. > window, I get garbage in my window...
  971.  
  972.      Usually the problem is that people don't send dereference the GWorld
  973. correctly. Here's an example of the sort of call you want to use:
  974.  
  975. CopyBits ((BitMap *) *myGWorld, (BitMap *) &gGameWindow->portPixMap,
  976.      &myRect, &myRect, srcCopy, nil);
  977.  
  978.      Notice the dereference of the world, and sending the pointer of the
  979. window's pixmap.
  980.  
  981. > Can someone explain to me when and where I should use the keeplocal and/or no
  982. > new device or even the purge? flag with NewGWorld?
  983.  
  984.      Don't bother using the keeplocal thing, and setting it to purge just
  985. causes extra work for you. The "no new device" option removes the problems
  986. with matching colour tables. Best thing to do is read Inside Mac 6: it's
  987. called something like the "Graphics Devices" chapter. At least, it's the
  988. one before the Sound Chapter.
  989.  
  990.      Hope this helps,
  991.  
  992.  
  993.      Alex
  994.  
  995. +++++++++++++++++++++++++++
  996.  
  997. >From scottsquir@aol.com (ScottSquir)
  998. Date: 21 Mar 1994 01:42:04 -0500
  999. Organization: America Online, Inc. (1-800-827-6364)
  1000.  
  1001. (Volkan Can) writes:
  1002. >when I use copybits to copy the data from the from the offscreen gworld to >my
  1003. window, I get garbage in my window...
  1004.  
  1005. >I drew a line offscreen and it was there but I also got a lot of other
  1006. >garbage.
  1007. >(After te copybits that is)
  1008. >Is some other application writing to this offscreen memory?
  1009.  
  1010. Make sure you erase your GWorld first.  Just use EraseRect(&theRect) before
  1011. actually drawing to the GWorld.   The GWorld is just memory and NewGWorld
  1012. doesn't do anything except allocate it and setup the structures.
  1013. -scott
  1014.  
  1015.  
  1016. +++++++++++++++++++++++++++
  1017.  
  1018. >From markhanrek@aol.com (MarkHanrek)
  1019. Date: 21 Mar 1994 12:36:03 -0500
  1020. Organization: America Online, Inc. (1-800-827-6364)
  1021.  
  1022. Because todays information management is still primitive, we are lead to
  1023. believe that all we need to do is use the NewGWorld call and we're ready to go.
  1024. I did.
  1025.  
  1026. But here is the basic NewGWorld routine I have come to use, which does all the
  1027. required things that we learn about as we go along. Hopefully this will save
  1028. you and others from a lot of wasted time.
  1029.  
  1030. Hope this helps.
  1031.  
  1032. Mark Hanrek
  1033.  
  1034. - ----------------------------------------------------------------
  1035.  
  1036. Notes:
  1037.  
  1038. The statements marked with //** are the important ones that we
  1039. find out the hard way are the additional things we must do 
  1040. before we consider a GWorld fully prepared.
  1041.  
  1042. The "tryTempMem" parameter allows you to easily specify if its
  1043. okay for the routine to try to allocate the GWorld in MultiFinder
  1044. temporary memory.  This is handy, for example, when allocating an
  1045. intermediate GWorld for dithering from 32-bit to 8-bit color, which
  1046. is only needed momentarily and will be gone before the user gets
  1047. back control.  Once allocated, work with it and dispose of it 
  1048. normally.  
  1049.  
  1050. You could change the behavior of this parameter to force using 
  1051. temporary memory in the first place, and backing off to application 
  1052. memory, an improvement I just realized would be nice as I sit here 
  1053. typing this. :)
  1054.  
  1055. When you read in pictures destined for a GWorld, get the picture's
  1056. colors first, and then feed the color table to this routine when
  1057. creating its GWorld, then draw the picture into the GWorld.
  1058.  
  1059. Feel free to redesign the parameters and convenience features of
  1060. this routine to suit your taste. The important thing is that our
  1061. GWorlds must be clipped, erased, and have their coloring set
  1062. straight before we continue on our way.
  1063.  
  1064.  
  1065. //****************************************************************
  1066.  
  1067. OSErr CreateNewGWorld( Rect *theRect, short theDepth, 
  1068.              CTabHandle theColors, GWorldPtr *theGWorld, Boolean tryTempMem )
  1069. {
  1070.   CGrafPtr    previousGW;
  1071.   GDHandle    previousGD;
  1072.   QDErr       err;
  1073.   GWorldFlags theFlags;
  1074.   RGBColor    rgbOpColor = { 0x8000, 0x8000, 0x8000 };
  1075.   RGBColor    rgbBlack   = { 0x0000, 0x0000, 0x0000 };
  1076.   RGBColor    rgbWhite   = { 0xFFFF, 0xFFFF, 0xFFFF };
  1077.  
  1078.   GetGWorld( &previousGW, &previousGD );
  1079.  
  1080.   if (( err = NewGWorld( theGWorld, theDepth, theRect, theColors, nil, 0L )) !=
  1081. noErr)
  1082.     if ( tryTempMem == true ) {
  1083.       if (( err = NewGWorld( theGWorld, theDepth, theRect, theColors, nil,
  1084. useTempMem)) != noErr)
  1085.         return( err );
  1086.     } else
  1087.         return( err );
  1088.    
  1089.   SetGWorld( *theGWorld, nil );
  1090.  
  1091.   ClipRect( &(**theGWorld).portRect ); //**
  1092.  
  1093.   if ( LockPixels( GetGWorldPixMap( *theGWorld )))
  1094.   {
  1095.     RGBForeColor( &rgbBlack );    //**
  1096.     RGBBackColor( &rgbWhite );    //**
  1097.     OpColor( &rgbOpColor );       //**
  1098.   
  1099.     EraseRect( &(**theGWorld).portRect );
  1100.   
  1101.     UnlockPixels( GetGWorldPixMap( *theGWorld ));
  1102.   }
  1103.  
  1104.   SetGWorld( previousGW, previousGD );
  1105.   return( err );
  1106. }
  1107.  
  1108.  
  1109. ---------------------------
  1110.  
  1111. >From lipa@camis.Stanford.EDU (Bill Lipa)
  1112. Subject: Thread Manager 2.0
  1113. Date: 21 Mar 1994 06:29:24 GMT
  1114. Organization: Center for Advanced Medical Informatics at Stanford
  1115.  
  1116.  
  1117. The PowerMac compatible version of the Thread Manager is included in the
  1118. April developer mailing. Upon reading the documentation, I was surprised
  1119. to find out that preemptive threads are not supported on PowerMacs. Does
  1120. this really mean that any program that uses preemptive threads is not
  1121. portable to the new machines?
  1122.  
  1123. I wonder why they had to make this change.
  1124.  
  1125. Bill Lipa
  1126. lipa@camis.stanford.edu
  1127.  
  1128.  
  1129. +++++++++++++++++++++++++++
  1130.  
  1131. >From leonardr@netcom.com (Leonard Rosenthol)
  1132. Date: Mon, 21 Mar 1994 21:03:15 GMT
  1133. Organization: Aladdin Systems, Inc.
  1134.  
  1135. In article <2mjes4$md4@morrow.stanford.edu>, lipa@camis.Stanford.EDU (Bill
  1136. Lipa) wrote:
  1137.  
  1138. > The PowerMac compatible version of the Thread Manager is included in the
  1139. > April developer mailing. Upon reading the documentation, I was surprised
  1140. > to find out that preemptive threads are not supported on PowerMacs. Does
  1141. > this really mean that any program that uses preemptive threads is not
  1142. > portable to the new machines?
  1143. > I wonder why they had to make this change.
  1144.    It has to do with the way the 68000 interrupt system works on the
  1145. PowerMac.  There is not a multi-level interrupt scheme, as I understand
  1146. it, so they can't easily schedule the interrupts they way they do on the
  1147. 68K.
  1148.  
  1149. Leonard
  1150. - ------------------------------------------------------------------------
  1151. Leonard Rosenthol                      Internet:       leonardr@netcom.com
  1152. Director of Advanced Technology        AppleLink:      MACgician
  1153. Aladdin Systems, Inc.                  GEnie:          MACgician
  1154.  
  1155. ---------------------------
  1156.  
  1157. End of C.S.M.P. Digest
  1158. **********************
  1159.  
  1160.  
  1161.  
  1162.